package com.leyou.item.service;

import com.leyou.common.dto.PageDTO;
import com.leyou.item.dto.SkuDTO;
import com.leyou.item.dto.SpecParamDTO;
import com.leyou.item.dto.SpuDTO;
import com.leyou.item.dto.SpuDetailDTO;

import java.util.List;

/**
 * @author mySun
 * @create 2021-07-18 14:52
 */
public interface GoodsService {
    PageDTO<SpuDTO> pageSpu(Long curPage, Long rows, Long bid, Long cid, Long sid, Boolean saleable);

    void saveSpu(SpuDTO spuDTO);

    void updateSpuSaleable(Long sid, Boolean saleable);

    SpuDTO queryGoodsById(Long id);

    void updateSpu(SpuDTO spuDTO);

    SpuDetailDTO queryDetailBySid(Long sid);

    List<SkuDTO> listSkuBySid(Long sid);

    List<SkuDTO> listSkuBySkuIds(List<Long> skuIds);

    List<SpecParamDTO> querySpecsValues(Long sid, Boolean isSearching);

    SpuDTO querySpuById(Long sid);
}
